{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "#jupyter选择弹窗模式\n",
    "%matplotlib qt\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import time\n",
    "from math import *\n",
    "\n",
    "plt.style.use('default')\n",
    "plt.ion() #开启interactive mode 成功的关键函数\n",
    "plt.figure(1)\n",
    "\n",
    "x = np.linspace(0,100,101)\n",
    "\n",
    "for i in range(100):\n",
    "    y = np.sin((10+i)/100*x/3.14)\n",
    "    plt.plot(x,y)\n",
    "    plt.pause(0.1)#从这一行开始刷新图像\n",
    "\n",
    "plt.cla()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[2], line 29\u001b[0m\n\u001b[0;32m     27\u001b[0m         y \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39msin((\u001b[38;5;241m10\u001b[39m\u001b[38;5;241m+\u001b[39mi)\u001b[38;5;241m/\u001b[39m\u001b[38;5;241m100\u001b[39m\u001b[38;5;241m*\u001b[39mx\u001b[38;5;241m/\u001b[39m\u001b[38;5;241m3.14\u001b[39m)\n\u001b[0;32m     28\u001b[0m         plt\u001b[38;5;241m.\u001b[39mplot(x,y)\n\u001b[1;32m---> 29\u001b[0m         \u001b[43mplt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpause\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m0.1\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m     30\u001b[0m         \u001b[38;5;66;03m#df = transCurve(dType,B1500a)\u001b[39;00m\n\u001b[0;32m     31\u001b[0m         \u001b[38;5;66;03m#df.to_excel(xlsFiles[fn],index=False,sheet_name=f\"Run{i}\")\u001b[39;00m\n\u001b[0;32m     32\u001b[0m     \u001b[38;5;66;03m#matrix(4)\u001b[39;00m\n\u001b[0;32m     33\u001b[0m plt\u001b[38;5;241m.\u001b[39mtitle(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mTest Complete!\u001b[39m\u001b[38;5;124m'\u001b[39m)\n",
      "File \u001b[1;32m~\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python312\\site-packages\\matplotlib\\pyplot.py:663\u001b[0m, in \u001b[0;36mpause\u001b[1;34m(interval)\u001b[0m\n\u001b[0;32m    661\u001b[0m         canvas\u001b[38;5;241m.\u001b[39mdraw_idle()\n\u001b[0;32m    662\u001b[0m     show(block\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[1;32m--> 663\u001b[0m     \u001b[43mcanvas\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstart_event_loop\u001b[49m\u001b[43m(\u001b[49m\u001b[43minterval\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m    664\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m    665\u001b[0m     time\u001b[38;5;241m.\u001b[39msleep(interval)\n",
      "File \u001b[1;32m~\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python312\\site-packages\\matplotlib\\backends\\backend_qt.py:412\u001b[0m, in \u001b[0;36mFigureCanvasQT.start_event_loop\u001b[1;34m(self, timeout)\u001b[0m\n\u001b[0;32m    409\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m timeout \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m    410\u001b[0m     _ \u001b[38;5;241m=\u001b[39m QtCore\u001b[38;5;241m.\u001b[39mQTimer\u001b[38;5;241m.\u001b[39msingleShot(\u001b[38;5;28mint\u001b[39m(timeout \u001b[38;5;241m*\u001b[39m \u001b[38;5;241m1000\u001b[39m), event_loop\u001b[38;5;241m.\u001b[39mquit)\n\u001b[1;32m--> 412\u001b[0m \u001b[43m\u001b[49m\u001b[38;5;28;43;01mwith\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43m_maybe_allow_interrupt\u001b[49m\u001b[43m(\u001b[49m\u001b[43mevent_loop\u001b[49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[0;32m    413\u001b[0m \u001b[43m    \u001b[49m\u001b[43mqt_compat\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_exec\u001b[49m\u001b[43m(\u001b[49m\u001b[43mevent_loop\u001b[49m\u001b[43m)\u001b[49m\n",
      "File \u001b[1;32mC:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_3.12.1264.0_x64__qbz5n2kfra8p0\\Lib\\contextlib.py:144\u001b[0m, in \u001b[0;36m_GeneratorContextManager.__exit__\u001b[1;34m(self, typ, value, traceback)\u001b[0m\n\u001b[0;32m    142\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m typ \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m    143\u001b[0m     \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 144\u001b[0m         \u001b[38;5;28;43mnext\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgen\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m    145\u001b[0m     \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mStopIteration\u001b[39;00m:\n\u001b[0;32m    146\u001b[0m         \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mFalse\u001b[39;00m\n",
      "File \u001b[1;32m~\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python312\\site-packages\\matplotlib\\backends\\qt_compat.py:230\u001b[0m, in \u001b[0;36m_maybe_allow_interrupt\u001b[1;34m(qapp)\u001b[0m\n\u001b[0;32m    228\u001b[0m signal\u001b[38;5;241m.\u001b[39msignal(signal\u001b[38;5;241m.\u001b[39mSIGINT, old_sigint_handler)\n\u001b[0;32m    229\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m handler_args \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m--> 230\u001b[0m     \u001b[43mold_sigint_handler\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mhandler_args\u001b[49m\u001b[43m)\u001b[49m\n",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "#jupyter选择弹窗模式\n",
    "%matplotlib qt\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import time\n",
    "from math import *\n",
    "\n",
    "plt.style.use('default')\n",
    "plt.ion() #开启interactive mode 成功的关键函数\n",
    "plt.figure(1)\n",
    "\n",
    "x = np.linspace(0,100,101)\n",
    "\n",
    "import time\n",
    "for i in range(58):\n",
    "    #nextdie()\n",
    "    #contact()\n",
    "    time.sleep(0.3)\n",
    "    for position in [1,2,3]:\n",
    "        #matrix(position)\n",
    "        time.sleep(0.2)\n",
    "        for dType in ['P','N']:\n",
    "            fn = f'{dType}MOS{str(position)}'\n",
    "            #print('\\r'+str(i+1)+f'/58:{fn}',end='')\n",
    "            plt.title(str(i+1)+f'/58:{fn}')\n",
    "            y = np.sin((10+i)/100*x/3.14)\n",
    "            plt.plot(x,y)\n",
    "            plt.pause(0.1)\n",
    "            #df = transCurve(dType,B1500a)\n",
    "            #df.to_excel(xlsFiles[fn],index=False,sheet_name=f\"Run{i}\")\n",
    "        #matrix(4)\n",
    "    plt.title('Test Complete!')\n",
    "    if i !=57:\n",
    "        #sep()\n",
    "        pass\n",
    "\n",
    "\n",
    "plt.cla()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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MjIyiIuLY+TIkRw9erTe8WvXriUpKYm7776bzMxMxo0bx7hx49i6desFTt4433zzDZMnT+aHH35gxYoVVFdXc/XVV1NWVnba9YKCgjhy5Ejt7cCBAxco8fnr27dvnezfffddg2Pd9bgC/PTTT3X2c8WKFQDccsstDa7jTse1rKyMuLg45syZU+/yF198kVmzZvH666/z448/EhAQwMiRI6moqGhwm4193V8op9vX8vJyMjIyeOqpp8jIyODjjz9m165dXHfddWfcbmNeCxfKmY4rwKhRo+rknj9//mm36arHFc68v7/ezyNHjvD2229jsVi46aabTrtdVzy2TmM0cwMHDjQmT55ce99utxuRkZFGampqveNvvfVW45prrqnz2KBBg4w//vGPTs3Z1I4ePWoAxjfffNPgmHfeeccIDg6+cKGa0PTp0424uLizHu8px9UwDGPKlClGt27dDIfDUe9ydz6ugLF48eLa+w6Hw4iIiDBmzJhR+1hRUZFhtVqN+fPnN7idxr7uzfDbfa3P+vXrDcA4cOBAg2Ma+1owQ337OmnSJOP6669v1Hbc4bgaxtkd2+uvv9648sorTzvGHY5tU2rWZ1iqqqrYuHEjI0aMqH3My8uLESNGsG7dunrXWbduXZ3xACNHjmxwvKsqLi4GIDQ09LTjSktLiY6OJioqiuuvv55t27ZdiHhNYs+ePURGRtK1a1duu+02Dh482OBYTzmuVVVVvPfee9x1112n/SJQdz6uv5aTk0NeXl6dYxccHMygQYMaPHbn8rp3VcXFxVgsFkJCQk47rjGvBVeyevVq2rVrR69evbjvvvsoLCxscKwnHdf8/HyWLVvG3Xfffcax7npsz0WzLiwFBQXY7XbCw8PrPB4eHk5eXl696+Tl5TVqvCtyOBw8+OCDXHrppfTr16/Bcb169eLtt99m6dKlvPfeezgcDoYMGUJubu4FTHtuBg0axLx581i+fDlz584lJyeHYcOGUVJSUu94TziuAEuWLKGoqIg77rijwTHufFx/65fj05hjdy6ve1dUUVHBo48+SlJS0mm/HK+xrwVXMWrUKP7xj3+watUq/va3v/HNN98wevRo7HZ7veM95bgCvPvuuwQGBnLjjTeedpy7Httz5RHf1iyNM3nyZLZu3XrGuc7BgwczePDg2vtDhgyhd+/evPHGGzz33HPOjnleRo8eXfvn/v37M2jQIKKjo/nggw/O6n8t7uqtt95i9OjRREZGNjjGnY+r/Et1dTW33norhmEwd+7c045119fChAkTav8cGxtL//796datG6tXr2b48OEmJnO+t99+m9tuu+2MF8O767E9V836DEtYWBje3t7k5+fXeTw/P5+IiIh614mIiGjUeFeTnJzMZ599xtdff03Hjh0bta6vry8JCQlkZ2c7KZ3zhISE0LNnzwazu/txBThw4AArV67knnvuadR67nxcfzk+jTl25/K6dyW/lJUDBw6wYsWK055dqc+ZXguuqmvXroSFhTWY292P6y++/fZbdu3a1ejXMbjvsT1bzbqw+Pn5MWDAAFatWlX7mMPhYNWqVXX+B/prgwcPrjMeYMWKFQ2OdxWGYZCcnMzixYv56quv6NKlS6O3Ybfb2bJlC+3bt3dCQucqLS1l7969DWZ31+P6a++88w7t2rXjmmuuadR67nxcu3TpQkRERJ1jZ7PZ+PHHHxs8dufyuncVv5SVPXv2sHLlStq0adPobZzpteCqcnNzKSwsbDC3Ox/XX3vrrbcYMGAAcXFxjV7XXY/tWTP7ql+zLViwwLBarca8efOM7du3G3/4wx+MkJAQIy8vzzAMw/j9739vPPbYY7Xjv//+e8PHx8d46aWXjB07dhjTp083fH19jS1btpi1C2flvvvuM4KDg43Vq1cbR44cqb2Vl5fXjvntvj7zzDPGl19+aezdu9fYuHGjMWHCBMPf39/Ytm2bGbvQKA899JCxevVqIycnx/j++++NESNGGGFhYcbRo0cNw/Cc4/oLu91udOrUyXj00UdPWebux7WkpMTIzMw0MjMzDcCYOXOmkZmZWfubMS+88IIREhJiLF261Ni8ebNx/fXXG126dDFOnjxZu40rr7zSmD17du39M73uzXK6fa2qqjKuu+46o2PHjkZWVlad13FlZWXtNn67r2d6LZjldPtaUlJiTJ061Vi3bp2Rk5NjrFy50khMTDR69OhhVFRU1G7DXY6rYZz537FhGEZxcbHRsmVLY+7cufVuw12OrbM0+8JiGIYxe/Zso1OnToafn58xcOBA44cffqhddtlllxmTJk2qM/6DDz4wevbsafj5+Rl9+/Y1li1bdoETNx5Q7+2dd96pHfPbfX3wwQdr/17Cw8ONMWPGGBkZGRc+/DkYP3680b59e8PPz8/o0KGDMX78eCM7O7t2uacc1198+eWXBmDs2rXrlGXufly//vrrev/t/rJPDofDeOqpp4zw8HDDarUaw4cPP+XvITo62pg+fXqdx073ujfL6fY1Jyenwdfx119/XbuN3+7rmV4LZjndvpaXlxtXX3210bZtW8PX19eIjo427r333lOKh7scV8M4879jwzCMN954w2jRooVRVFRU7zbc5dg6i8UwDMOpp3BEREREzlOzvoZFRERE3IMKi4iIiLg8FRYRERFxeSosIiIi4vJUWERERMTlqbCIiIiIy1NhEREREZenwiIiIiIuT4VFREREXJ4Ki4iIiLg8FRYRERFxeSosIiIi4vL+P0PaeBriTWd4AAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "plt.style.use('default')\n",
    "\n",
    "plt.clf()\n",
    "plt.plot(range(20),range(20))\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "starEnv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
